package com.github.zzay.care.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * @author zzay
 * @className ElderlyDto
 * @description DTO class for entity "Elderly"
 * @create 2022/07/06 23:58
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ElderlyDto implements Serializable {

    private static final long serialVersionUID = -2245848843831648699L;

    /**
     * Name.
     */
    @Schema(name = "name", description = "姓名")
    private String name;

    /**
     * ID card number.
     */
    @Schema(name = "idCard", description = "身份证号")
    private String idCard;

    /**
     * Room number.
     */
    @Schema(name = "roomNumber", description = "房间号")
    private String roomNumber;

    /**
     * Sex (Male: 0 / Female: 1 / Unknown: 2).
     */
    @Schema(name = "sex", description = "性别（0：男，1：女，2：未知）")
    private String sex;

    /**
     * Phone number.
     */
    @Schema(name = "phone", description = "手机号")
    private String phone;

    /**
     * Birthday.
     */
    @Schema(name = "birthday", description = "生日")
    private Date birthday;

    /**
     * Health state.
     */
    @Schema(name = "healthState", description = "健康状况")
    private String healthState;

    /**
     * Check-in date.
     */
    @Schema(name = "checkInDate", description = "进入养老院日期")
    private Date checkInDate;

    /**
     * Check-out date.
     */
    @Schema(name = "checkOutDate", description = "离开养老院日期")
    private Date checkOutDate;

    /**
     * Address of profile photo.
     */
    @Schema(name = "profilePhoto", description = "头像图片路径")
    private String profilePhoto;

    /**
     * Directory address of images.
     */
    @Schema(name = "imageDir", description = "图像目录路径")
    private String imageDir;

    /**
     * Name of first guardian.
     */
    @Schema(name = "firstGuardianName", description = "第一监护人姓名")
    private String firstGuardianName;

    /**
     * Relationship with first guardian.
     */
    @Schema(name = "firstGuardianRelationship", description = "与第一监护人关系")
    private String firstGuardianRelationship;

    /**
     * Phone of first guardian.
     */
    @Schema(name = "firstGuardianPhone", description = "第一监护人电话")
    private String firstGuardianPhone;

    /**
     * Wechat of first guardian.
     */
    @Schema(name = "firstGuardianWechat", description = "第一监护人微信")
    private String firstGuardianWechat;

    /**
     * Name of second guardian.
     */
    @Schema(name = "secondGuardianName", description = "第二监护人姓名")
    private String secondGuardianName;

    /**
     * Relationship with second guardian.
     */
    @Schema(name = "secondGuardianRelationship", description = "与第二监护人关系")
    private String secondGuardianRelationship;

    /**
     * Phone of second guardian.
     */
    @Schema(name = "secondGuardianPhone", description = "第二监护人电话")
    private String secondGuardianPhone;

    /**
     * Wechat of second guardian.
     */
    @Schema(name = "secondGuardianWechat", description = "第二监护人微信")
    private String secondGuardianWechat;

    public ElderlyDto(String name, String idCard, String roomNumber, String sex, String phone, Date birthday, Date checkInDate) {
        this.name = name;
        this.idCard = idCard;
        this.roomNumber = roomNumber;
        this.sex = sex;
        this.phone = phone;
        this.birthday = birthday;
        this.checkInDate = checkInDate;
    }

}
